accessible only within member functions of the class, within member functions of derived classes as well, and via the object identifier (using '.' or '->' operators) as well, respectively. Thus a class defined with the 'struct' keyword is equivalent to one defined with the 'class' keyword using only 'public' specifiers.
Enforcing strict scope rules helps to clarify the interface among classes. For example, in many cases the instance variables of a class should be inaccessible ("hidden") to other classes, while a few public member functions should remain to provide well-defined communication. C++ also provides the ability to declare some classes as 'friends' with members of another class, to circumvent the usual privacy.
(A limitation of these custom scopes is that objects of a given class can always access private parts of other objects of the same class. Bjarne Stroustrup says, "The unit of protection in C++ is a class, not an individual object of a class", on p. 138 of his book*.)
While TC does not provide such scope restrictions as part of the language, it is good programming practice to use comments to explicitly state which members of the class may be considered "public" and which should be accessed only by member functions.